home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / bftpd_chown.nasl < prev    next >
Text File  |  2005-01-14  |  4KB  |  126 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@nessus.org>
  3. # See the Nessus Scripts License for details
  4. #
  5.  
  6.  
  7. if(description)
  8. {
  9.  script_id(10579);
  10.  script_bugtraq_id(2120);
  11.  script_version ("$Revision: 1.18 $");
  12.  script_cve_id("CAN-2001-0065", "CVE-2000-0943");
  13.  
  14.  name["english"] = "bftpd chown overflow";
  15.  name["francais"] = "bftpd chown overflow";
  16.  
  17.  script_name(english:name["english"],
  18.              francais:name["francais"]);
  19.              
  20.  desc["english"] = "
  21. The remote ftp server is vulnerable to a buffer overflow 
  22. when issued too long arguments to the chown command.
  23.  
  24. It may be possible for a remote attacker to gain root access
  25. thanks to this bug.
  26.  
  27. Solution : Upgrade your bftpd server to version 1.0.14 or
  28. disable the option ENABLE_SITE in bftpd.conf
  29. Risk factor : High";
  30.                  
  31.                  
  32. desc["francais"] = "
  33. Le serveur FTP distant est vulnΘrable α une attaque par
  34. dΘpassement de buffer lorsqu'il recoit un argument trop long
  35. α la commande chown.
  36.  
  37. Ce problΦme peut etre exploitΘ par un pirate pour obtenir un
  38. shell root sur cette machine.
  39.  
  40. Solution : Mettez α jour votre serveur bftpd en version 1.0.14
  41. ou changez la valeurd de l'option ENABLE_SITE en no dans bftpd.conf
  42. Facteur de risque : High";
  43.                      
  44.  script_description(english:desc["english"],
  45.                     francais:desc["francais"]);
  46.                     
  47.  
  48.  script_summary(english:"Checks if the remote bftpd daemon is vulnerable to a buffer overflow",
  49.                 francais:"DΘtermine si bftpd est vulnΘrable α un dΘpassement de buffer");
  50.  script_category(ACT_MIXED_ATTACK); # mixed
  51.  script_family(english:"FTP", francais:"FTP");
  52.  
  53.  
  54.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  55.                   francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  56.                   
  57.  script_dependencie("find_service.nes", "ftp_anonymous.nasl",
  58.              "ftp_write_dirs.nes" );
  59.  script_require_ports("Services/ftp", 21);
  60.  exit(0);
  61. }
  62.  
  63. #
  64. # The script code starts here : 
  65. #
  66.  
  67. login = get_kb_item("ftp/login");
  68. pass  = get_kb_item("ftp/password");
  69.  
  70.  
  71.  
  72. port = get_kb_item("Services/ftp");
  73. if(!port)port = 21;
  74.  
  75.  
  76. # Connect to the FTP server
  77.  
  78. include("ftp_func.inc");
  79.  
  80. if(safe_checks())login = 0;
  81.  
  82.  
  83. if(login)
  84. {
  85.  if(!get_port_state(port))exit(0);
  86.  soc = open_sock_tcp(port);
  87.  if(!soc)exit(0);
  88.  if(ftp_log_in(socket:soc, user:login, pass:pass))
  89.  {
  90.   req = string("SITE CHOWN AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A");
  91.   req = req + string("\r\n");
  92.   send(socket:soc, data:req);
  93.   r = ftp_recv_line(socket:soc);
  94.   send(socket:soc, data:string("HELP\r\n"));
  95.   r = ftp_recv_line(socket:soc);
  96.   if(!r)security_hole(port);
  97.   exit(0);
  98.   }
  99.    else {
  100.         ftp_close(socket: soc);
  101.     }
  102. }
  103.  
  104. banner = get_ftp_banner(port: port);
  105. if(!banner)exit(0);
  106.   
  107. if(egrep(pattern:"220.*bftpd 1\.0\.(([0-9][^0-9])|(1[0-3]))",
  108.        string:banner)){
  109.      data = string(
  110. "You are running a version of bftpd which is older or\n",
  111. "as old as version 1.0.13.\n",
  112. "These versions are vulnerable to a buffer overflow when they\n",
  113. "receive a tool long argument to the SITE CHOWN command, and this\n",
  114. "allows an intruder to execute arbitrary code through\n",
  115. "it.\n\n",
  116. "*** Note that Nessus did not log into this server\n",
  117. "*** so it could not determine whether this server is really\n",
  118. "*** vulnerable or not, so this message may be\n",
  119. "*** a false positive because it relied on the server banner\n\n",
  120. "Solution : upgrade to bftpd 1.0.14 or disable the ENABLE_SITE option in bftpd.conf\n",
  121. "Risk factor : High");
  122.      security_hole(port:port, data:data);
  123.      }
  124.  
  125.